using System;
using System.Collections;

namespace MSPetShopOrders.DataAccess
{
	
	public abstract class Order
	{
	
		public System.String UserId
		{
			get { return this.userId; }
			set { this.userId = value; }
		}

		public System.DateTime OrderDate
		{
			get { return this.orderDate; }
			set { this.orderDate = value; }
		}

		public System.String ShipAddr1
		{
			get { return this.shipAddr1; }
			set { this.shipAddr1 = value; }
		}

		public System.String ShipAddr2
		{
			get { return this.shipAddr2; }
			set { this.shipAddr2 = value; }
		}

		public System.String ShipCity
		{
			get { return this.shipCity; }
			set { this.shipCity = value; }
		}

		public System.String ShipState
		{
			get { return this.shipState; }
			set { this.shipState = value; }
		}

		public System.String ShipZip
		{
			get { return this.shipZip; }
			set { this.shipZip = value; }
		}

		public System.String ShipCountry
		{
			get { return this.shipCountry; }
			set { this.shipCountry = value; }
		}

		public System.String BillAddr1
		{
			get { return this.billAddr1; }
			set { this.billAddr1 = value; }
		}

		public System.String BillAddr2
		{
			get { return this.billAddr2; }
			set { this.billAddr2 = value; }
		}

		public System.String BillCity
		{
			get { return this.billCity; }
			set { this.billCity = value; }
		}

		public System.String BillState
		{
			get { return this.billState; }
			set { this.billState = value; }
		}

		public System.String BillZip
		{
			get { return this.billZip; }
			set { this.billZip = value; }
		}

		public System.String BillCountry
		{
			get { return this.billCountry; }
			set { this.billCountry = value; }
		}

		public System.String Courier
		{
			get { return this.courier; }
			set { this.courier = value; }
		}

		public System.Decimal TotalPrice
		{
			get { return this.totalPrice; }
			set { this.totalPrice = value; }
		}

		public System.String BillToFirstName
		{
			get { return this.billToFirstName; }
			set { this.billToFirstName = value; }
		}

		public System.String BillToLastName
		{
			get { return this.billToLastName; }
			set { this.billToLastName = value; }
		}

		public System.String ShipToFirstName
		{
			get { return this.shipToFirstName; }
			set { this.shipToFirstName = value; }
		}

		public System.String ShipToLastName
		{
			get { return this.shipToLastName; }
			set { this.shipToLastName = value; }
		}

		public System.String CreditCard
		{
			get { return this.creditCard; }
			set { this.creditCard = value; }
		}

		public System.String ExprDate
		{
			get { return this.exprDate; }
			set { this.exprDate = value; }
		}

		public System.String CardType
		{
			get { return this.cardType; }
			set { this.cardType = value; }
		}

		public System.String Locale
		{
			get { return this.locale; }
			set { this.locale = value; }
		}

//		protected void OnCreate(object[] args)
//		{
//		}
		
//		protected void OnMaterialize()
//		{
//		}
		
//		protected void OnValidate()
//		{
//		}
		
		protected abstract System.String userId { get; set; }

		protected abstract System.DateTime orderDate { get; set; }

		protected abstract System.String shipAddr1 { get; set; }

		protected abstract System.String shipAddr2 { get; set; }

		protected abstract System.String shipCity { get; set; }

		protected abstract System.String shipState { get; set; }

		protected abstract System.String shipZip { get; set; }

		protected abstract System.String shipCountry { get; set; }

		protected abstract System.String billAddr1 { get; set; }

		protected abstract System.String billAddr2 { get; set; }

		protected abstract System.String billCity { get; set; }

		protected abstract System.String billState { get; set; }

		protected abstract System.String billZip { get; set; }

		protected abstract System.String billCountry { get; set; }

		protected abstract System.String courier { get; set; }

		protected abstract System.Decimal totalPrice { get; set; }

		protected abstract System.String billToFirstName { get; set; }

		protected abstract System.String billToLastName { get; set; }

		protected abstract System.String shipToFirstName { get; set; }

		protected abstract System.String shipToLastName { get; set; }

		protected abstract System.String creditCard { get; set; }

		protected abstract System.String exprDate { get; set; }

		protected abstract System.String cardType { get; set; }

		protected abstract System.String locale { get; set; }

	}
}
